Bug #548782. Emit children-changed::remove signal when a row is deleted in
authorLi Yuan <li.yuan@sun.com>
Thu, 21 Aug 2008 05:28:58 +0000 (05:28 +0000)
committerLi Yuan <liyuan@src.gnome.org>
Thu, 21 Aug 2008 05:28:58 +0000 (05:28 +0000)
2008-08-21  Li Yuan  <li.yuan@sun.com>

        * gailtreeview.c: (model_row_deleted):
        Bug #548782. Emit children-changed::remove signal when a row is
        deleted in gtktreeview.

svn path=/trunk/; revision=21173

modules/other/gail/ChangeLog
modules/other/gail/gailtreeview.c

index 08f97adb432fe4ebb72ebe48383e482b1325aea3..75e0472157d502f8e3d0e2a618fe2699c514cd27 100644 (file)
@@ -1,3 +1,9 @@
+2008-08-21  Li Yuan  <li.yuan@sun.com>
+
+       * gailtreeview.c: (model_row_deleted):
+       Bug #548782. Emit children-changed::remove signal when a row is 
+       deleted in gtktreeview.
+
 2008-08-15  Michael Natterer  <mitch@imendio.com>
 
        * gailbooleancell.c
index 9b121c12fc70219e8b199c5bfcd20f91ce10c8bc..b6a9af6fd4075bcd9b34fa456e9c06166d1f5c85 100644 (file)
@@ -2920,7 +2920,7 @@ model_row_deleted (GtkTreeModel *tree_model,
   GtkTreePath *path_copy;
   AtkObject *atk_obj;
   GailTreeView *gailview;
-  gint row;
+  gint row, col, n_cols;
 
   tree_view = (GtkTreeView *)user_data;
   atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
@@ -2959,6 +2959,17 @@ model_row_deleted (GtkTreeModel *tree_model,
     g_signal_emit_by_name (atk_obj, "row_deleted", row, 
                            gailview->n_children_deleted + 1);
   gailview->n_children_deleted = 0;
+
+  /* Generate children-changed signals */
+  n_cols = get_n_actual_columns (tree_view);
+  for (col = 0; col < n_cols; col++)
+  {
+    /*
+     * Pass NULL as the child object, 4th argument.
+     */
+    g_signal_emit_by_name (atk_obj, "children_changed::remove",
+                           ((row * n_cols) + col), NULL, NULL);
+  }
 }
 
 /*